// 导入节流函数
import { throttle } from 'lodash-es'
// 基准值
export const remBase = 14
// 具体值
let htmlFontSize: number

// 此处使用自调函数，防止calc成为全局变量
!(function () {
    const calc = function () {
        const maxFontSize = 16
        const minFontSize = 10
        const html = document.getElementsByTagName('html')[0]
        const width = html.clientWidth
        let size = remBase * (width / 1600)
        size = Math.min(maxFontSize, size)
        size = Math.max(minFontSize, size)
        html.style.fontSize = size + 'px'
        htmlFontSize = size
    }
    calc()
    window.addEventListener('resize', throttle(calc, 500))
})()
/**
 * @description: 根据基准字号计算，用于静态样式
 */
export function toRem(px: number): string {
    return `${px / remBase}rem`
}
/**
 * @description:  根据当前的html根字体大小计算，用于某些js的动态计算
 */
export function toCurrRem(px: number): string {
    return `${px / htmlFontSize}rem`
}